package com.eastfair.visitor.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperService;
import com.eastfair.visitor.dto.ReservationDTO;
import com.eastfair.visitor.dto.ReservationPageQuery;
import com.eastfair.visitor.dto.ReservationSaveDTO;
import com.eastfair.visitor.entity.Reservation;
import com.eastfair.visitor.vo.ReservationVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 访客预约
 * </p>
 *
 * @author lyw
 * @date 2022-11-18
 */
public interface ReservationService extends SuperService<Reservation> {
    /**
     * do转vo
     *
     * @param model
     */
    ReservationVO doToVo(Reservation model);

    /**
     * do转vo
     *
     * @param modelList
     */
    List<ReservationVO> doToVos(List<Reservation> modelList);


    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<Reservation> list(ReservationDTO modelDTO, List<Long> ids);

    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<Reservation> listOfCache(ReservationDTO modelDTO, List<Long> ids);




    /**
     * 添加访客预约信息
     *
     * @param reservationSaveDTO
     * @return
     */
    Boolean saveReservationInfo(ReservationSaveDTO reservationSaveDTO);

    /**
     * 通过id获取访客信息
     *
     * @param reservationDTO
     * @return
     */
    ReservationVO getReservationInfoById(ReservationDTO reservationDTO);


}
